import Vue from 'vue'
import App from './App.vue'
//导入element ui的所需的模块
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import '../src/less/index.less'
import router from './router/index.js'// 导入router模块 需要挂载在app上

import store from '../src/store/index.js'//导入vuex 为了传数据

import http from 'axios'// 导入axios插件 
import '../api/mock.js'

Vue.config.productionTip = false

Vue.use(ElementUI);
// 命名为$http
Vue.prototype.$http = http

// 导航守卫
router.beforeEach((to,from,next) => {
  store.commit('getToken');//获取Token,这里写是为了防止页面刷新丢失token信息
  const token = store.state.user.token//获取token
  // console.log(to.path) 这个是路由地址点击什么就是/home或者/login
  if(!token && to.name !== 'login') {//没token而且to不指向login路由
    next({path:'/login' });//返回login页面
  }
  else if(token && to.name == 'login'){
    // 如果已经登陆了还要访问/login页,跳转至/home页,退出当前账号的登陆才可进行登陆
    // next({ name:'home' })
    next({ path:'/home' })
  }
  else {
    next()
  }
}) 


new Vue({
  store,//挂载vuex的index.js才能全局使用
  router,//挂载路由模块
  render: h => h(App),
  created() {
    store.commit('addMenu',router)
    //登陆时调用,刷新页面时也要调用(检测Cookie有没有Token,有就渲染)
  }
}).$mount('#app')
